package 字符串;

/**
 * @author 会玩的洋洋
 * https://leetcode-cn.com/problems/implement-strstr/
 */
public class _28_实现strStr {

    public static void main(String[] args) {
    }

    /**
     * 暴力解法
     * @param haystack 目标字符串
     * @param needle 查询字符串
     * @return int
     */
    public int strStr(String haystack, String needle) {
        // 获取两个字符串的长度
        int n = haystack.length(), m = needle.length();

        // 循环遍历 i + m <= n 代表当前下标+needle的长度不得大于haystack的长度
        for (int i = 0; i + m <= n; i++) {
            // 设置标记 若为false 则当前匹配失败
            boolean flag = true;
            // 遍历对应下标
            for (int j = 0; j < m; j++) {
                if (haystack.charAt(i + j) != needle.charAt(j)) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                return i;
            }
        }
        return -1;
    }
}
